package com.csjbot.snowbot_rogue.servers.serials;

/**
 * Created by Administrator on 2016/7/11 0011.
 */
public interface SnowBotAction {

    /**
     * 左手臂摆动
     * <p/>
     * 数据格式：0xAA    0x12    0x80    0x02    0x01    number  check
     *
     * @param number 手臂摆动次数
     */
    void swingLeftArm(byte number);

    /**
     * 右手臂摆动
     * <p/>
     * 数据格式：0xAA    0x12    0x80    0x03    0x01    number  check
     *
     * @param number 手臂摆动次数
     */
    void swingRightArm(byte number);

    /**
     * 双臂摆动
     * <p/>
     * 数据格式：0xAA    0x12    0x80    0x04    0x01    number  check
     *
     * @param number 手臂摆动次数
     */
    void swingDoubleArm(byte number);

    /**
     * 开启传感器
     * <p/>
     * 数据格式： 0xAA   0x12    0x80    0x07    0x01    sensorType  check
     *
     * @param sensorType 传感器类型
     */
    void turnOnSensor(byte sensorType);

    /**
     * 关闭传感器
     * <p/>
     * 数据格式： 0xAA   0x12    0x80    0x08    0x01    sensorType  check
     *
     * @param sensorType 传感器类型
     */
    void turnOffSensor(byte sensorType);

    /**
     * 数据开始发送
     * <p/>
     * 数据格式： 0xAA   0x12    0x80    0x09    0x01   sensorType  check
     *
     * @param sensorType 传感器类型
     *                   0x02   温湿度
     *                   0x04   pm2.5
     *                   0x05   电量
     */
    void requireSend(byte sensorType);

    /**
     * 所有的传感器数据开始发送
     * <p/>
     * 数据格式： 0xAA   0x12    0x80    0x09    0x01    sensorType  check
     */
    void requireAllSensor();

    /**
     * 获取机器人的SN
     * <p/>
     * 数据格式： 0xAA   0x12    0x80    0x0B    0x00   (无数据)   0x47
     */
    // TODO: finish this
    void getRobotSN();
    /**
     * 获取机器人的SN
     * <p/>
     * 数据格式： 0xAA   0x12    0x80    0x0B    0x00   (无数据)   0x47
     */
    // TODO: finish this
    void snowBotOff();

    void getRobotDownSN();

    void requireSelfCheck();
}
